// test_asr_improvements.js
// 测试ASR改进效果

const fs = require('fs');
const path = require('path');
const { transcribeWithWhisper } = require('./backend/src/controllers/unifiedAsrController');

async function testAsrImprovements() {
  console.log('测试ASR改进效果...\n');
  
  try {
    // 创建一个测试音频文件（这里使用简单的WAV文件头作为示例）
    const testAudioBuffer = Buffer.from('RIFF$\x00\x00\x00WAVEfmt \x10\x00\x00\x00\x01\x00\x01\x00D\xac\x00\x00\x88X\x01\x00\x02\x00\x10\x00data\x00\x00\x00\x00');
    fs.writeFileSync('test_audio.wav', testAudioBuffer);
    
    console.log('1. 测试Whisper识别（基础测试）:');
    try {
      // 注意：这需要Whisper服务正在运行
      // const result = await transcribeWithWhisper(testAudioBuffer);
      // console.log('   识别结果:', result);
      console.log('   注意：需要Whisper服务运行才能进行实际测试');
    } catch (error) {
      console.log('   测试失败（预期）:', error.message);
    }
    
    // 清理测试文件
    if (fs.existsSync('test_audio.wav')) {
      fs.unlinkSync('test_audio.wav');
    }
    
    console.log('\n2. 配置检查:');
    console.log('   ASR_ENGINE:', process.env.ASR_ENGINE || 'whisper (默认)');
    console.log('   FFMPEG_PATH:', process.env.FFMPEG_PATH || '未设置');
    
    console.log('\n3. 建议的改进措施:');
    console.log('   - 在安静环境中录音');
    console.log('   - 使用高质量麦克风');
    console.log('   - 靠近麦克风清晰发音');
    console.log('   - 考虑使用阿里云、腾讯云等商业ASR服务提高准确率');
    console.log('   - 调整Whisper模型大小（small/medium/large）');
    
  } catch (error) {
    console.error('测试失败:', error.message);
  }
}

// 运行测试
testAsrImprovements();